# from 构建镜像的基础源镜像 使用 Alpine (优化一, 需要配置时区)
FROM node:13.5.0-alpine

# 配置时区
RUN echo 'http://mirrors.aliyun.com/alpine/v3.6/community/'>/etc/apk/repositories \
	&& echo 'http://mirrors.aliyun.com/alpine/v3.6/main/'>>/etc/apk/repositories \
	&& apk add tzdata && cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \
	&& echo "Asia/Shanghai" > /etc/timezone && apk del tzdata

# 在容器中创建一个目录
RUN mkdir -p /usr/src/nodejs/

# 定位到容器的工作目录
WORKDIR /usr/src/nodejs/

# RUN/COPY是分层的, package.json 提前, 只要没修改就不会重新安装包（优化二）
COPY package.json /usr/src/nodejs/package.json
COPY package-lock.json /usr/src/nodejs/package-lock.json
RUN npm config set registry "https://registry.npm.taobao.org/"
# 生产环境不打包devDependencies（优化三）
RUN npm i --production

# 把当前目录下的所有文件拷贝到 Image 的 /usr/src/nodejs/ 目录下
COPY . /usr/src/nodejs/

EXPOSE 8899
CMD npm start